home *** CD-ROM | disk | FTP | other *** search
-
-
-
- ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
-
-
-
- NNNNAAAAMMMMEEEE
- SFIRM1D, DFIRM1D, CFIRM1D, ZFIRM1D - N 1D convolutions in the time
- domain.
-
- FFFFOOOORRRRTTTTRRRRAAAANNNN SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee SSSSFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
- rrrreeeeaaaallll ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee DDDDFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
- ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee CCCCFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
- ccccoooommmmpppplllleeeexxxx ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
- ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ZZZZFFFFIIIIRRRRMMMM1111DDDD(((( ffff,,,, iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- gggg,,,, iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- hhhh,,,, iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx,,,,
- aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa ))))
- iiiinnnntttteeeeggggeeeerrrr iiiinnnnccccffff,,,, llllddddffff,,,, iiiiffffxxxx0000,,,, nnnn____ffffxxxx,,,, nnnnyyyy,,,,
- iiiinnnnccccgggg,,,, iiiiggggxxxx0000,,,, nnnn____ggggxxxx,,,,
- iiiinnnncccchhhh,,,, llllddddhhhh,,,, iiiihhhhxxxx0000,,,, nnnn____hhhhxxxx
- ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx ffff((((llllddddffff,,,,nnnnyyyy)))),,,, gggg((((****)))),,,, hhhh((((llllddddhhhh,,,,nnnnyyyy)))),,,, aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
-
-
-
- CCCC SSSSPPPPEEEECCCCIIIIFFFFIIIICCCCAAAATTTTIIIIOOOONNNN
- ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooonnnnvvvv....hhhh>>>>
-
- vvvvooooiiiidddd ssssffffiiiirrrrmmmm1111dddd(((( ffffllllooooaaaatttt ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllssssffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
- iiiinnnntttt nnnn____sssseeeeqqqq,,,,
- ffffllllooooaaaatttt ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
- ffffllllooooaaaatttt ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
- ffffllllooooaaaatttt aaaallllpppphhhhaaaa,,,, ffffllllooooaaaatttt bbbbeeeettttaaaa))))
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
-
-
-
- vvvvooooiiiidddd ddddffffiiiirrrrmmmm1111dddd(((( ddddoooouuuubbbblllleeee ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllddddffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
- iiiinnnntttt nnnn____sssseeeeqqqq,,,,
- ddddoooouuuubbbblllleeee ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
- ddddoooouuuubbbblllleeee ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
- ddddoooouuuubbbblllleeee aaaallllpppphhhhaaaa,,,, ddddoooouuuubbbblllleeee bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd ccccffffiiiirrrrmmmm1111dddd(((( ccccoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllddddffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
- iiiinnnntttt nnnn____sssseeeeqqqq,,,,
- ccccoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
- ccccoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
- ccccoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, ccccoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
-
- vvvvooooiiiidddd zzzzffffiiiirrrrmmmm1111dddd(((( zzzzoooommmmpppplllleeeexxxx ****ffff,,,, iiiinnnntttt iiiinnnnccccffff,,,, iiiinnnntttt llllddddffff,,,, iiiinnnntttt iiiiffffxxxx0000,,,, iiiinnnntttt nnnn____ffffxxxx,,,,
- iiiinnnntttt nnnn____sssseeeeqqqq,,,,
- zzzzoooommmmpppplllleeeexxxx ****gggg,,,, iiiinnnntttt iiiinnnnccccgggg,,,, iiiinnnntttt iiiiggggxxxx0000,,,, iiiinnnntttt nnnn____ggggxxxx,,,,
- zzzzoooommmmpppplllleeeexxxx ****hhhh,,,, iiiinnnntttt iiiinnnncccchhhh,,,, iiiinnnntttt llllddddhhhh,,,, iiiinnnntttt iiiihhhhxxxx0000,,,, iiiinnnntttt nnnn____hhhhxxxx,,,,
- zzzzoooommmmpppplllleeeexxxx ****aaaallllpppphhhhaaaa,,,, zzzzoooommmmpppplllleeeexxxx ****bbbbeeeettttaaaa))))
-
-
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- SFIRM1D, DFIRM1D, CFIRM1D and DFIRM1D compute N 1D convolutions in the
- time domain :
-
- h(i,j) = beta * h(i,j) + alpha * Sum[ f(k,j) * g(i-k) ] with j=1,...,N
-
-
-
- UUUUSSSSAAAAGGGGEEEE::::
- 1. Suppose you want to:
- filter a 2D "image" f(0:449,0:699) along the first dimension ,
- by a 1D filter g(-15:15),
- put the result in h(0:449,0:699),
- you can use:
-
- call dfirm1d( 700,f(0,0),1,449-0+1,0,449,g(-15),1,-15,15,1.0,
- $ h(0,0),1,449-0+1,0,449,0.0)
-
- 2. Suppose you want to:
- filter a 2D "image" f(0:449,0:699) along the Second dimension ,
- by the Fisrt line of g(0:149,-15:15),
- put the result in h(-25:449,0:699),
- you can use:
-
- call dfirm1d( 450,f(0,0),449-0+1,1,0,449,
- $ g(0,-15),149-25+1,-15,15,1.0,
- $ h(0,0),449-0+1,1,0,449,0.0)
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
-
-
-
- PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
- ffff Vector containing sequence "f"
-
- iiiinnnnccccffff Increment between two successive values of "f"
-
- llllddddffff Increment between two successive 1D sequnce of "f"
-
- iiiiffffxxxx0000 Index of the first element of each 1D sequence of "f"
-
- nnnn____ffffxxxx Number of elements of each sequence of "f"
-
- nnnnyyyy Number of 1D sequences to filter
-
-
- gggg Vector containing the 1D sequence "g"
-
- iiiinnnnccccgggg Increment between two successive values of "g"
-
- iiiiggggxxxx0000 Index of the first element of each 1D sequence of "g"
-
- nnnn____ggggxxxx Number of elements of Each sequence of "g"
-
-
- hhhh Vector containing the 2D sequence "h"
-
- iiiinnnncccchhhh Increment between two successive values of "h"
-
- llllddddhhhh Increment between two successive 1D sequnce of "h"
-
- iiiihhhhxxxx0000 Index of the first element of each 1D sequence of "h"
-
- nnnn____hhhhxxxx Number of elements of Each sequence of "h"
-
-
- aaaallllpppphhhhaaaa Scaling factor for the original values of the "h" sequence
-
- bbbbeeeettttaaaa Scaling factor for the convolution
-
-
-
- IIIIMMMMPPPPOOOORRRRTTTTAAAANNNNTTTT NNNNOOOOTTTTEEEE::::
- The array pointers must all point to the first element of the
- array "(ifx0,ify0)", "(igx0,igy0)" and "(ihx0,ihy0)". If "f"
- for example is defined as
- dimension f(-25:45,10:21)
- Then "dfirm1d" must be called with the following parameters
- call dfirm1d( f(-25,10),(45-(-25)+1),-25,45,10,21 ... )
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF)))) ____FFFFIIIIRRRRMMMM1111DDDD((((3333FFFF))))
-
-
-
- AUTHORS
- Jean-Pierre Panziera, 1/12/93.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-